////https://www.luogu.com.cn/problem/P5635
//
//#include<iostream>
//
//using namespace std;
//int x, y, p;
//const int N = 1e4 + 10;
//char f[N][N];
//
//char dfs(int x, int y)
//{
//	if (f[x][y]) return f[x][y];
//
//	f[x][y] = '3';
//	if (x == 0) return f[x][y] = '1';
//	if (y == 0)  return f[x][y] = '2';
//
//	return f[x][y] = dfs((x + y) % p, (x + 2 * y) % p);
//}
//
//int main()
//{
//	int T;
//	cin >> T >> p;
//	while (T--)
//	{
//		cin >> x >> y;
//		char ret = dfs(x, y);
//		if (ret == '1' || ret == '2') cout << ret << endl;
//		else cout << "error" << endl;
//	}
//	return 0;
//}